# Mathematical Proofs A useful technique to know as a programmer, as for example using [[Type systems]] is not only isomorphic to [[Logic Proofs]] because of the [[Curry-Howard Isomorphism]], but in practice is also proving things about the behaviour and composability of your program. ## Books - [[BOOK - How to Prove It - Daniel J Velleman]] - [[BOOK - How to Solve It - G Polya John H Conway]] ### Computer proofs - [[BOOK - The Little Prover - Daniel P Friedman Carl Eastlund]] - [[BOOK - Certified Programming with Dependent Types - Adam Chlipala]] ### To read Recommend pedagogical book about proofs (from [Ask HN: How to learn mathematical proofs from scratch? | Hacker News](https://news.ycombinator.com/item?id=31800081) ): - [Analysis I: Third Edition (Texts and Readings in Mathematics): Tao, Terence: 9789380250649: Books](https://www.amazon.com/Analysis-Third-Texts-Readings-Mathematics/dp/9380250649) - [Solving Mathematical Problems: A Personal Perspective: Tao, Terence: 9780199205608: Books: Amazon.com](https://www.amazon.com/Solving-Mathematical-Problems-Personal-Perspective/dp/0199205604/ref=pd_lpo_3?pd_rd_i=0199205604&psc=1)